package com.lino.design;

import java.util.concurrent.TimeUnit;

/**
 * @description: 新缓存接口
 * @author: lingjian
 * @createDate: 2022/12/16 14:53
 */
public interface CacheService {

    /**
     * 根据键获取值
     *
     * @param key       键
     * @param redisType redis类型
     * @return 值
     */
    String get(final String key, int redisType);

    /**
     * 设置缓存
     *
     * @param key       键
     * @param value     值
     * @param redisType redis类型
     */
    void set(String key, String value, int redisType);

    /**
     * 设置缓存
     *
     * @param key       键
     * @param value     值
     * @param timeout   超时时间
     * @param unit      时间单位
     * @param redisType redis类型
     */
    void set(String key, String value, long timeout, TimeUnit unit, int redisType);

    /**
     * 删除缓存
     *
     * @param key       键
     * @param redisType redis类型
     */
    void del(String key, int redisType);

}
